package io.aircraft.modules.wms.service;

import io.aircraft.common.utils.ProcResult;
import io.aircraft.modules.wms.entity.stored.*;

public interface StoredProcService {
    /**
     * 收货单取消
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult purchaseCancelById(ProcPurchaseCancelEntity parameters);
    /**
     * 收货单强制完成
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult purchaseDoneById(ProcPurchaseDoneEntity parameters);

    /**
     * 出库单取消
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult orderCancelById(ProcOrderCancelEntity parameters);

    /**
     * 按波次自动配货
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult autoAllotByWave(ProcWaveAllotEntity parameters);

    /**
     * 按主单自动配货
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult autoAllotById(ProcOrderAllotEntity parameters);

    /**
     * 取消配货
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult refundById(ProcOrderRefundEntity parameters);

    /**
     * 按波次出库执行
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult audiByWave(ProcWaveAudiEntity parameters);

    /**
     * 按单据进行出库执行
     *
     * @param parameters
     * @return 结果信息
     */
    ProcResult audiById(ProcOrderAudiEntity parameters);

    /**
     * 出库确认
     *
     * @param parameters
     */
    ProcResult affirmByTask(ProcTaskAffirmEntity parameters);
    /**
     * 库存核查
     *
     * @param parameters
     */
    ProcResult stockCheck(ProcStockCheckEntity parameters);
}
